Dafny: Implement and Verify Modular Programs

Project

Dafny is a verification-aware programming language that integrates specification and verification into the programming process. In this lab project, students will choose a small but non-trivial program they are interested in and implement it in Dafny, including formal specifications and correctness proofs. Programs should be modular, with clearly defined functions and correctness conditions (e.g., functional correctness, termination).

Students are encouraged to propose their own project ideas. Two examples to start from:

The scope can be scaled during the semester depending on progress and complexity.

Starting Points